Skip to main content

CAMS KRA Download API

The following document highlights the details of the CAMS KRA Download API.

API Description

Objective

The CAMS KRA Download API retrieves an applicant's existing KYC data from registered KYC Registration Agencies (KRAs), including CVL, NDML, CAMS, Karvy, Dotex, BSE, and KFIN KRAs.

InputOutput
PAN, date of birth, KRA type, and fetch typeThe complete KYC data of the customer in a JSON response, including personal details, address information, contact details, and application status

API URL

https://ind-engine.thomas.hyperverge.co/v1/CAMSKRADownload

API Endpoint

CAMSKRADownload

Overview

The CAMS KRA Download API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should download all images and files as form-data through a POST request.

Method - POST

Authentication

You need a unique pair of application ID ( appId ) and application key ( appKey ) from HyperVerge to verify your identity for accessing the API.

Headers

HeaderMandatory / OptionalDescriptionInput Format
content-type MandatoryThis parameter defines the media type for the request payloadapplication/json
appId MandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
appKey MandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Inputs

The following table provides the details of the parameters required for the CAMS KRA Download API's request body:

ParameterMandatory / OptionalTypeDescriptionInput FormatDefault Value
panMandatorystringThe user's Permanent Account Number (PAN)Format: 'CCCCCDDDDC' where 'C' represents a character and 'D' represents a digitNot Applicable
dateOfBirthMandatorystringThe user's date of birthDD-MM-YYYYNot Applicable
signRequiredOptionalcharIndicates whether a signature is required. Set the value to "N" if signature is not required; otherwise, signature is considered by defaultNNot Applicable

Request

The following code snippet demonstrates a standard curl request for the CAMS KRA Download API:

curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/CAMSKRADownload' \
--header 'Content-Type: application/json' \
--header 'appID: <Enter_the_HyperVerge_appId>'\
--header 'appKey: <Enter_the_HyperVerge_appKey>'\
--header 'transactionID: <Enter_the_HyperVerge_transactionID>' \
--data-raw '{
"pan": "<Enter_the_PAN>",
"dateOfBirth": "<Enter_the_Date_of_Birth_DD-MM-YYYY>",
"signRequired": "<N>"
}'

Success Response

The following code snippet demonstrates a success response from the CAMS KRA Download API:

{
"status": "success",
"statusCode": "200",
"result": {
"posCode": "<Point_Of_Service_Code>",
"appNo": "<Application_Number>",
"date": "<Application_Date_in_DD-MM-YYYY_Format>",
"exmt": "<Exemption_Status>",
"exmtCategory": "<Exemption_Category>",
"exmtIdProof": "<Exemption_ID_Proof_Type>",
"ipvFlag": "<IPV_Flag>",
"ipvDate": "<IPV_Date_in_DD-MM-YYYY_Format>",
"gender": "<Gender>",
"name": "<Name_Of_The_User>",
"firtName": "<Father_Name>",
"dob": "<Date_Of_Birth_in_DD-MM-YYYY_Format>",
"regNo": "<Registration_Number>",
"commenceDate": "<Commencement_Date_in_DD-MM-YYYY_Format>",
"nationality": "<Nationality>",
"othNationality": "<Other_Nationality>",
"compStatus": "<Company_Status>",
"othCompStatus": "<Other_Company_Status>",
"resStatus": "<Residential_Status>",
"statusProof": "<Status_Proof>",
"pan": "<PAN_Number>",
"panCopy": "<PAN_Copy_Flag>",
"uidNo": "<UID_Number>",
"corAddress1": "<Correspondence_Address_Line_1>",
"corAddress2": "<Correspondence_Address_Line_2>",
"corAddress3": "<Correspondence_Address_Line_3>",
"corCity": "<Correspondence_City>",
"corPincode": "<Correspondence_Pincode>",
"corState": "<Correspondence_State>",
"corCountry": "<Correspondence_Country>",
"offNo": "<Office_Number>",
"resNo": "<Residential_Number>",
"mobileNo": "<Mobile_Number>",
"faxNo": "<Fax_Number>",
"email": "<Email_Address>",
"corAddressProof": "<Correspondence_Address_Proof>",
"corAddRef": "<Correspondence_Address_Reference>",
"corAddDt": "<Correspondence_Address_Date_in_DD-MM-YYYY_Format>",
"perAddress1": "<Permanent_Address_Line_1>",
"perAddress2": "<Permanent_Address_Line_2>",
"perAddress3": "<Permanent_Address_Line_3>",
"perCity": "<Permanent_City>",
"perPincode": "<Permanent_Pincode>",
"perState": "<Permanent_State>",
"perCountry": "<Permanent_Country>",
"perAddressProof": "<Permanent_Address_Proof>",
"perAddressRef": "<Permanent_Address_Reference>",
"perAddDt": "<Permanent_Address_Date_in_DD-MM-YYYY_Format>",
"income": "<Income_Bracket>",
"occupation": "<Occupation>",
"otherOccupation": "<Other_Occupation>",
"polConn": "<Political_Connection_Status>",
"docProof": "<Document_Proof_Status>",
"internalRef": "<Internal_Reference>",
"branchCode": "<Branch_Code>",
"maritalStatus": "<Marital_Status>",
"networth": "<Networth>",
"networthDate": "<Networth_Date_in_DD-MM-YYYY_Format>",
"incorpPLC": "<Incorporation_Place>",
"otherInformation": "<Other_Information>",
"remarks": "<Remarks>",
"accOpenDate": "<Account_Open_Date_in_DD-MM-YYYY_Format>",
"accActiveDate": "<Account_Active_Date_in_DD-MM-YYYY_Format>",
"accUpdateDate": "<Account_Update_Date_in_DD-MM-YYYY_Format>",
"status": "<Application_Status_Code>",
"statusDate": "<Status_Date_in_DD-MM-YYYY_HH:MM:SS_Format>",
"errorDescription": "<Error_Description>",
"dumpType": "<Dump_Type>",
"dnlDdt": "<Download_Date_in_DD-MM-YYYY_HH:MM:SS_Format>",
"iopFlag": "<Interoperable_Flag>",
"kraInfo": "<KRA_Information>",
"signature": "<Signature>",
"kycMode": "<KYC_Mode>",
"uidToken": "<UID_Token>",
"versionNo": "<Version_Number>",
"fatcaApplicableFlag": "<FATCA_Applicable_Flag>",
"fatcaBirthPlace": "<FATCA_Birth_Place>",
"fatcaBirthCountry": "<FATCA_Birth_Country>",
"fatcaCountryRes": "<FATCA_Country_Of_Residence>",
"fatcaCountryCityzenship": "<FATCA_Country_Of_Citizenship>",
"fatcaDateDeclaration": "<FATCA_Date_Of_Declaration_in_DD-MM-YYYY_Format>",
"type": "<Applicant_Type>",
"resStatusProof": "<Residential_Status_Proof>",
"appResDate": "<Application_Response_Date_in_DD-MM-YYYY_HH:MM:SS_Format>"
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Success Response Details

The following table outlines the details of the success response from the CAMS KRA Download API:

ParameterTypeDescription
statusstringThe status of the request
statusCodestringThe HTTP status code of the response
resultobjectContainer for the response data
result.posCodestringPOS code of the Asset Management Company (AMC) on whose behalf the request is being updated
result.appNostringThe unique number generated for each KYC application
result.datestringThe date on which the KYC application was submitted
result.exmtstringThe value is 'N' if the user's PAN card image has been submitted, and 'Y' if user's exempted from submitting the PAN card
result.exmtCategorystringThe user was exempted from submitting their PAN card image due to one or more valid reasons. For the complete list of exemption criteria, please refer to this page
result.exmtIdProofstringThe document used as Proof of Identity (when the user is exempted from submitting PAN as a valid ID Proof). For the complete list of valid ID proof documents, please refer to this page
result.ipvFlagstringThe value is 'Yes' if an In-Person Verification (IPV) was conducted for the KYC application; 'No' if not conducted, or 'eKYC' if completed online
result.ipvDatestringThe date when the IPV was conducted, if applicable
result.genderstringThe gender of the user. The valid values are
  • Female
  • Male
  • Transgender
result.namestringThe full name of the user
result.firtNamestringThe name of the user's father/husband
result.dobstringThe date of birth of the user
result.regNostringThe registration number of the organization
result.commenceDatestringThe date when the organization commenced business
result.nationalitystringThe nationality of the user. The valid values are
  • Indian
  • Others
result.othNationalitystringThe user's nationality, if not Indian
result.compStatusstringThe type of organization (Company Status). For the complete list of different types of valid organizations, please refer to this page
result.othCompStatusstringThe status of the company, if 'Others'
result.resStatusstringThe residential status of the user. For the complete list of valid values for the parameter, please refer to this page
result.statusProofstringThe proof of residential status
result.panstringThe PAN of the user
result.panCopystringThe value is 'Yes' if the user's PAN card image was submitted; otherwise, the value is 'No'
result.uidNostringThe last four digits of the UID/Aadhaar number of the user
result.corAddress1stringThe first line of the correspondence address
result.corAddress2stringThe second line of the correspondence address
result.corAddress3stringThe third line of the correspondence address
result.corCitystringThe city of correspondence address
result.corPincodestringThe PIN code for correspondence address
result.corStatestringThe state of correspondence address. For the complete list of allowed values, please refer to this page
result.corCountrystringThe country of correspondence address. For the complete list of countries, please refer to this page
result.offNostringThe user's office contact number
result.resNostringThe user's residential contact number
result.mobileNostringThe user's mobile phone number
result.faxNostringThe fax number for the user
result.emailstringThe email address of the user
result.corAddressProofstringThe document serving as proof of the correspondence address. For the complete list of accepted documents, please refer to this page
result.corAddRefstringThe identification number linked to the correspondence address proof document
result.corAddDtstringThe validity date of the corresponding address proof
result.perAddress1stringThe first line of the permanent address
result.perAddress2stringThe second line of the permanent address
result.perAddress3stringThe third line of the permanent address
result.perCitystringThe city of the permanent address
result.perPincodestringThe PIN code for the permanent address
result.perStatestringThe state of the permanent address. For the complete list of allowed values, please refer to this page
result.perCountrystringThe country of the permanent address. For the complete list of countries, please refer to this page
result.perAddressProofstringThe document serving as proof of the permanent address. For the complete list of accepted documents, please refer to this page
result.perAddressRefstringThe identification number linked to the permanent address proof document
result.perAddDtstringThe validity date of the permanent address proof
result.incomestringThe user's gross annual income, represented as a range. For more details on income slabs, please refer to this page
result.occupationstringThe occupation of the user, specified by selecting a domain from this list
result.otherOccupationstringThe occupation details of the user, if 'Others'
result.polConnstringThe PEP status of the user
result.docProofstringThe details of the documents submitted by the user
  • Self Certified Copies Submitted (Originals Verified)
  • True Copies of Documents Received
result.internalRefstringInternal reference number for intermediaries
result.branchCodestringThe branch code to which the KYC is attached
result.maritalStatusstringThe marital status of the user
  • Married
  • Unmarried
  • Others
result.networthstringThe net worth of the user or the organization
result.networthDatestringThe net worth of the user or the organization as on date
result.incorpPLCstringThe place of incorporation of the organization, if applicable
result.otherInformationstringAny additional information about the user or organization
result.remarksstringThe remarks associated with the application
result.accOpenDatestringThe date when account was opened
result.accActiveDatestringThe date when account was activated
result.accUpdateDatestringThe date when account was last updated
result.statusstringA code that represents the current status of the KYC application
result.statusDatestringThe date when the KYC application status was updated
result.errorDescriptionstringThe description of any errors encountered
result.dumpTypestringThe type of data dump classification
result.dnlDdtstringThe date when data was downloaded
result.iopFlagstringIndicates whether the KYC application is associated with CAMS or another KRA
result.kraInfostringThe KRA information
result.signaturestringThe Digital signature information
result.kycModestringThe mode of KYC used for an application
result.uidTokenstringThe unique identifier token
result.versionNostringThe Version number of the application
result.fatcaApplicableFlagstringThe confirmation on whether the application is subject to FATCA regulations
result.fatcaBirthPlacestringPlace of birth for FATCA reporting
result.fatcaBirthCountrystringThe country of birth for FATCA reporting
result.fatcaCountryResstringThe country of residence for FATCA reporting
result.fatcaCountryCityzenshipstringThe country of citizenship for FATCA reporting
result.fatcaDateDeclarationstringThe date of FATCA declaration
result.typestringSpecifies whether the application is for an individual applicant or a non-individual applicant
result.resStatusProofstringThe address proof for a non-residential Indian or person of Indian origin. For the complete list of valid values for the parameter, please refer to this page
result.appResDatestringThe date and time when response was received
metaDataobjectMetadata associated with the request
metaData.requestIdstringThe unique identifier for the request
metaData.transactionIdstringThe unique identifier for the transaction

Error Responses

The following are some error responses from the CAMS KRA Download API:

{
"status": "failure",
"statusCode": "400",
"result": {
"message": "Invalid PAN format"
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"status": "failure",
"statusCode": 500,
"result": {
"message": "Invalid token generation"
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}
{
"status": "failure",
"statusCode": "500",
"result": {
"message": "Incorrect Total records count"
},
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Error Response Details

A failure or error response contains a failure status with a relevant status code and error message.
The following table lists all error responses:

Status CodeError MessageError DescriptionError Resolution
400Invalid PAN formatThe PAN provided is not in the correct format. ('CCCCCDDDDC' format, where 'C' represents a character and 'D' represents a digit)Provide a valid PAN in the correct format
400Invalid DOB providedThe date of birth provided is not validProvide a valid date of birth in DD-MM-YYYY format
400Invalid request detailsThe request details provided are incomplete or incorrectVerify and provide all required request parameters
400Duplicate requestThe request has already been submitted previouslyUse a different transaction ID or wait before retrying
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid valuesProvide valid appId and appKey credentials in the request
500Invalid token generationCreds IssueVerify and provide valid credentials
500Invalid encrypted dataIts due to invalid inputsVerify and provide valid input data
500Invalid batch date and time formatDue to invalid date formatProvide a valid date and time format
500Invalid user id and passwordCreds IssueVerify and provide valid user ID and password
500Incorrect Total records countThe total records count provided is incorrectVerify and provide the correct total records count
500Invalid KRA codeKRA code is invalidVerify and provide a valid KRA code
500Internal Server ErrorAn internal server error occurredPlease check the request headers or contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: